1. Field of the Invention
The present invention relates to network attached media streaming systems incorporating Redundant Array of Inexpensive Disks (RAID) technology.
2. Description of Related Art
Current and emerging digital rights management (DRM) solutions include multi-level key management solutions. Keys used for Encryption/Decryption are derived from various intermediate keys to ultimately determine a title key for a media file. As an example, a master key will unlock a device key and, using the device key, a media key is unlocked. Using this media key, a title key is discovered. In this process, it is important that the decrypted keys are not exposed to users or processes outside the device to be used by a hacker.
Often, conventional approaches used a completely software-based approach in which the decryption keys were protected by software. Other approaches employed hardware assisted methods which exposed the keys. Exposed keys might provide backdoor access for a hacker, allowing the keys to become compromised.
To provide streaming writes to RAID arrays, conventional RAID systems might use a Read-Modify-Write sequence to write data to the RAID array. For example, FIG. 11 shows an exemplary convention RAID array using left-symmetric parity placement that distributes parity bits in a round robin manner across the drives of a disk array cluster. Parity chunks are rotated through the data chunks of stripes. FIG. 11 shows an array where there are five disks (N=5), where data chunks are represented by lower case characters while parity chunks are represented by the uppercase “P” character. As shown in FIG. 11, the set of sectors numbered [1,5,9,13] comprise a chunk of data on disk 1, whereas the sector set labeled [P0,P1,P2,P3] comprise a chunk of Parity on disk 4. A chunk might contain either parity or data.
To send data to a hard disk drive (HDD) and record parity information, the data are divided into sectors. Typically a RAID system records several sectors on a first HDD, several sectors on a second HDD, and several sectors on a third HDD, and then records the parity bits. To modify some of the stored data, the RAID system needs to first read all the stored data, then make changes to the stored data, and then write the data back to the disks. This sequence is referred to as a Read-Modify-Write operation.
The Read-Modify-Write operation handles data bursts that are not aligned with striped sector units. Misaligned data bursts can have partial data words at the front and back end of the burst. To calculate the correct parity sector value, a Read-Modify-Write module forms the correct starting and ending data words by reading the existing data words and combining them appropriately with the new partial data words.
However, the Read-Modify-Write operation blocks the write until the striped sector unit can be read and parity modified.